package models;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import play.db.jpa.Model;


@Entity
public class Nivel_Semestre extends Model{
	
	public int numTurmas;
	public String materialDidatico;
	public double valorDoMaterial;
	public int nivel;

	@ManyToOne
	public Curso curso;

	@ManyToOne
	public Semestre semestre;

	@OneToMany(mappedBy = "nivelSemestre")
	public List<Turma> turmas;	

	@Override
	public int hashCode() {
		Long i = this.id;
		return 31 + ((i == null) ? 0 : i.hashCode());
	}
	
	@Override
	public boolean equals(Object o) {		
		
		if (o instanceof Nivel_Semestre) {			
			Nivel_Semestre n = (Nivel_Semestre) o;
			
			if (n.getId() == this.id &&
					n.semestre.equals(this.semestre) &&
					n.nivel == this.nivel && 
					n.curso.equals(this.curso) && 
					n.numTurmas == this.numTurmas)			
				return true;
		}		
		return false;
	}
}
